In the current era, there numerous interfaces that enable intuitive and natural ways of human-computer communication. With the increase in computational developments and technical knowledge, the number and types of devices used to provide input to a computer has increased and will continue to do so as new concepts of interaction are developed. In the past, to support a new type of device, significant portions of the operating system (OS) had to be rewritten, sometimes taking several years of development time. However, the rate at which new types of input devices are being developed is increasing, thereby making the long OS development time less feasible.